package com.vcc.service.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.vcc.data.entity.KycCertInfo;
import com.vcc.service.boss.request.kyc.AuditKycDto;
import com.vcc.service.boss.response.kyc.KycCertInfoVoBoss;
import com.vcc.service.client.dto.kyc.KycCertInfoDto;
import com.vcc.service.client.vo.kyc.KycCertInfoVo;

public interface KycCertInfoService extends IService<KycCertInfo> {

    Boolean existsByUserId(Long userId);

    KycCertInfoVo getByUserId(Long userId);

    Boolean requestCert(KycCertInfoDto kycCertInfoDto, Long userId);

    Page<KycCertInfoVoBoss> paging(Page<KycCertInfoVoBoss> pageable, Integer status, String certName, Long targetUserId);

    Boolean audit(AuditKycDto auditKycDto);

    Boolean removeByUserId(Long userId);
}
